//#include <iostream>
//using namespace std;
//
//int main() {
//    string s;
//    string q;
//    int ans = 0;
//    cin >> s;
//    for (int i = 0, j = 0; i < s.size(); i++)
//    {
//        if (s[i] >= '0' && s[i] <= '9')
//        {
//            j = i;
//            while (j < s.size() && s[j] >= '0' && s[j] <= '9')
//            {
//                j++;
//            }
//            if ((j - i) > ans)
//            {
//                ans = j - i;
//                q = s.substr(i, ans);
//            }
//            if ((j - 1) == s.size())
//            {
//                break;
//            }
//        }
//    }
//    cout << q;
//    return 0;
//}
//// 64 位输出请用 printf("%lld")
//
//
//class Solution {
//public:
//    /**
//     * 代码中的类名、方法名、参数名已经指定，请勿修改，直接返回方法规定的值即可
//     *
//     * 判断岛屿数量
//     * @param grid char字符型vector<vector<>>
//     * @return int整型
//     */
//    const int N = 300;
//    int rel[4] = { 0,0,-1,1 };
//    int col[4] = { 1,-1,0,0 };
//    bool vis[300][300];
//    int ans = 0;
//    void dfs(vector<vector<char> >& grid, int& maxx, int& maxy, int x, int y, int p)
//    {
//        if (x < 0 || x >= maxx || y < 0 || y >= maxy || grid[x][y] == '0' || vis[x][y])
//        {
//            return;
//        }
//        vis[x][y] = true;
//        if (p == 0)
//        {
//            ans++;
//        }
//        for (int i = 0; i < 4; i++)
//        {
//            dfs(grid, maxx, maxy, x + rel[i], y + col[i], 1);
//        }
//    }
//    int solve(vector<vector<char> >& grid) {
//        // write code here
//        int maxx = grid.size();
//        int maxy = grid[0].size();
//        memset(vis, false, sizeof vis);
//        for (int i = 0; i < maxx; i++)
//        {
//            for (int j = 0; j < maxy; j++)
//            {
//                if (grid[i][j] == '1' && vis[i][j] == false)
//                {
//                    dfs(grid, maxx, maxy, i, j, 0);
//                }
//            }
//        }
//        return ans;
//    }
//};


#include <iostream>
#include <algorithm>
using namespace std;
int a[10];
bool vis(int x, int y, int z)
{
    if ((x + y) > z && (y + z) > x && (x + z) > y)
    {
        return true;
    }
    return false;
}
void solve() {
    for (int i = 0; i < 6; i++) {
        cin >> a[i];
    }
    int o = 0;
    for (int i = 0; i < 6; i++)
    {
        for (int j = 0; j < 6; j++)
        {
            for (int y = 0; y < 6; y++)
            {
                if (i != j && j != y && i != y)
                {
                    int z = -1, z1 = -1, z2 = -1;
                    for (int l = 0; l < 6; l++)
                    {
                        if (l != i && l != j && l != y)
                        {
                            if (z == -1)
                            {
                                z = l;
                            }
                            else if (z1 == -1)
                            {
                                z1 = l;
                            }
                            else {
                                z2 = l;
                            }
                        }
                    }
                    if (vis(a[i], a[j], a[y]) && vis(a[z], a[z1], a[z2]))
                    {
                        o = 1;
                        break;
                    }
                }
            }
            if (o)
            {
                break;
            }
        }
        if (o)
        {
            break;
        }
    }
    if (o)
    {
        cout << "Yes" << endl;
    }
    else {
        cout << "No" << endl;
    }
}

int main() {
    int T;
    cin >> T;
    while (T--) {
        solve();
    }
    return 0;
}
// 64 位输出请用 printf("%lld")